\section{th\_\-comment Struct Reference}
\label{structth__comment}\index{th\_\-comment@{th\_\-comment}}
The comment information.  


{\tt \#include $<$codec.h$>$}

\subsection*{Data Fields}
\begin{CompactItemize}
\item 
char $\ast$$\ast$ {\bf user\_\-comments}
\begin{CompactList}\small\item\em The array of comment string vectors. \item\end{CompactList}\item 
int $\ast$ {\bf comment\_\-lengths}
\begin{CompactList}\small\item\em An array of the corresponding length of each vector, in bytes. \item\end{CompactList}\item 
int {\bf comments}
\begin{CompactList}\small\item\em The total number of comment strings. \item\end{CompactList}\item 
char $\ast$ {\bf vendor}
\begin{CompactList}\small\item\em The null-terminated vendor string. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
The comment information. 

This structure holds the in-stream metadata corresponding to the 'comment' header packet. The comment header is meant to be used much like someone jotting a quick note on the label of a video. It should be a short, to the point text note that can be more than a couple words, but not more than a short paragraph.

The metadata is stored as a series of (tag, value) pairs, in length-encoded string vectors. The first occurrence of the '=' character delimits the tag and value. A particular tag may occur more than once, and order is significant. The character set encoding for the strings is always UTF-8, but the tag names are limited to ASCII, and treated as case-insensitive. See {\tt the Theora specification}, Section 6.3.3 for details.

In filling in this structure, \doxyref{th\_\-decode\_\-headerin()}{p.}{group__decfuncs_g006d01d36fbe64768c571e6a12b7fc50} will null-terminate the user\_\-comment strings for safety. However, the bitstream format itself treats them as 8-bit clean vectors, possibly containing null characters, and so the length array should be treated as their authoritative length. 

\subsection{Field Documentation}
\index{th\_\-comment@{th\_\-comment}!user\_\-comments@{user\_\-comments}}
\index{user\_\-comments@{user\_\-comments}!th_comment@{th\_\-comment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ {\bf th\_\-comment::user\_\-comments}}\label{structth__comment_d72830e183e707bb0df423eb73b00de4}


The array of comment string vectors. 

\index{th\_\-comment@{th\_\-comment}!comment\_\-lengths@{comment\_\-lengths}}
\index{comment\_\-lengths@{comment\_\-lengths}!th_comment@{th\_\-comment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int$\ast$ {\bf th\_\-comment::comment\_\-lengths}}\label{structth__comment_723dc6fdf75757e70e28eea864b10898}


An array of the corresponding length of each vector, in bytes. 

\index{th\_\-comment@{th\_\-comment}!comments@{comments}}
\index{comments@{comments}!th_comment@{th\_\-comment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf th\_\-comment::comments}}\label{structth__comment_5990c34932376f070ad0fc314daaeb78}


The total number of comment strings. 

\index{th\_\-comment@{th\_\-comment}!vendor@{vendor}}
\index{vendor@{vendor}!th_comment@{th\_\-comment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf th\_\-comment::vendor}}\label{structth__comment_93fbe894d23603f56843be15b0cbdba0}


The null-terminated vendor string. 

This identifies the software used to encode the stream. 

The documentation for this struct was generated from the following file:\begin{CompactItemize}
\item 
{\bf codec.h}\end{CompactItemize}
